#ifndef __STORMWIDGET_CONFIGMANAGE_ICONFIGMANAGE_ICONFIGMANAGE_H
#define __STORMWIDGET_CONFIGMANAGE_ICONFIGMANAGE_ICONFIGMANAGE_H


class IConfigManageCallBack
{
public:
	virtual ~IConfigManageCallBack() {};
	virtual void OnDownloadConfigInfomationCallBack(BOOL bIsSuccessed,UINT nNodeCount) = 0;
};

class IConfigManage
{
public:
	virtual ~IConfigManage(){};
	virtual void SetConfigInfomation(IConfigManageCallBack* pCallBack,
		LPCTSTR lpstrLocalMaterialZipPath,
		LPCTSTR lpstrRemoteMaterialZipPath) = 0;
	virtual UINT GetTypeCount() = 0;
	virtual LPCTSTR GetTypeName(UINT nIndex) = 0;
	virtual UINT GetShowNodeByTypeName(LPCTSTR pstrType) = 0;
	virtual LPCTSTR GetNodeAttribute(int nIndex,LPCTSTR pstrName) = 0;
	virtual BOOL SetupConfigInfomation(LPCTSTR pstrID) = 0;
	virtual void PostCount(LPCTSTR pstrUrl) = 0;
};

extern "C"
{
	HRESULT WINAPI CreateConfigManage(HINSTANCE hInst,HWND hWndParent,IConfigManage** ppConfigManage);
	typedef HRESULT (WINAPI* Fun_CreateConfigManage)(HINSTANCE hInst,HWND hWndParent,IConfigManage** ppConfigManage);
};
#endif //__STORMWIDGET_CONFIGMANAGE_ICONFIGMANAGE_ICONFIGMANAGE_H